package cn.b.sky.mes.hr.service;

import java.util.List;

import cn.b.sky.mes.hr.model.condition.ShiftingPermissionCondition;
import cn.b.sky.mes.hr.model.ShiftingPermission;

public interface ShiftingPermissionService {
  /**
   * 
   * <strong>Title : getShiftingPermissionsListByCondition<br></strong>
   * <strong>Description : </strong>根据条件查询权限数据<br> 
   * <strong>Create on : 2016年3月24日 上午9:34:23<br></strong>
   * <p>
   * @param condition
   * @return
   * List<ShiftingPermission>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br> 
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ShiftingPermission> getShiftingPermissionsListByCondition(ShiftingPermissionCondition condition);

  /**
   * 
   * <strong>Title : getShiftingPermissionsCountByCondition<br></strong>
   * <strong>Description : </strong>根据条件查询权限数据数量<br> 
   * <strong>Create on : 2016年3月24日 上午9:39:08<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int getShiftingPermissionsCountByCondition(ShiftingPermissionCondition condition);

  /**
   * 
   * <strong>Title : getPermissionsByWorkcenterAndUser<br></strong>
   * <strong>Description : </strong>根据工作中心查询权限数据<br> 
   * <strong>Create on : 2016年3月24日 上午9:35:03<br></strong>
   * <p>
   * @param siteCode
   * @param workcenterCode
   * @param lockFlag 是否锁定  0表示只要未锁定的数据
   * @return
   * List<ShiftingPermission>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ShiftingPermission> getPermissionsByWorkcenter(String siteCode, String workcenterCode, Integer lockFlag);

  /**
   * 
   * <strong>Title : getPermissionsByUser<br></strong>
   * <strong>Description : </strong>根据用户名查询权限数据<br> 
   * <strong>Create on : 2016年3月24日 上午9:35:50<br></strong>
   * <p>
   * @param siteCode
   * @param userCode
   * @param lockFlag 是否锁定  0表示只要未锁定的数据
   * @return
   * List<ShiftingPermission>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ShiftingPermission> getPermissionsByUser(String siteCode, String userCode, Integer lockFlag);

  /**
   * 
   * <strong>Title : getPermissionsByWorkcenterAndUser<br></strong>
   * <strong>Description : </strong>根据工作中心和用户名查询权限数据<br> 
   * <strong>Create on : 2016年3月24日 上午10:03:48<br></strong>
   * <p>
   * @param siteCode
   * @param workcenterCode
   * @param userCode
   * @param lockFlag 是否锁定  0表示只要未锁定的数据
   * @return
   * ShiftingPermission
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  ShiftingPermission getPermissionsByWorkcenterAndUser(String siteCode, String workcenterCode, String userCode,
      Integer lockFlag);

  /**
   * 
   * <strong>Title : insertShiftingPermission<br></strong>
   * <strong>Description : </strong>保存权限数据<br> 
   * <strong>Create on : 2016年3月24日 上午10:35:54<br></strong>
   * <p>
   * @param shiftingPermission
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertShiftingPermission(ShiftingPermission shiftingPermission);

  /**
   * 
   * <strong>Title : deleteShiftingPermission<br></strong>
   * <strong>Description : </strong>删除权限数据<br> 
   * <strong>Create on : 2016年3月24日 上午10:36:10<br></strong>
   * <p>
   * @param shiftingPermission
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteShiftingPermission(ShiftingPermission shiftingPermission);

}
